package com.ahora.org.ejb.jpa.beans;

import java.io.InputStream;
import java.io.Serializable;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;

import javax.faces.model.SelectItem;

import com.ahora.org.ejb.jpa.entities.ApeRecProceso;
import com.ahora.org.ejb.jpa.entities.Area;
public class ApelacionReconsideracionDTO implements Serializable {

	// Aca creo la tabla
	public ApeRecProceso getTbApeRecProceso(ApelacionReconsideracionDTO bean) {
		ApeRecProceso apPro = null;
		byte[] blobApelacion = null;
		byte[] blobReconsideracion = null;
		Area tbArea = null;
		try {
			apPro = new ApeRecProceso();
			//blobApelacion = Hibernate.createBlob(bean.getbApelacion());
			//blobReconsideracion = Hibernate.createBlob(bean.getbReconsideracion());

			apPro.setDocumentoApelacion(blobApelacion);
			apPro.setDocumentoReconsideracion(blobReconsideracion);
			apPro.setNomArcApelacion(bean.getNombreArchivoApelacion());
			apPro.setNomArcReconsideracion(bean
					.getNombreArchivoReconsideracion());
			apPro.setNumDiaApe(bean.getNumDiaApe());
			apPro.setNumDiaRec(bean.getNumDiaRec());

			tbArea = new Area();
			tbArea.setIdArea(bean.getIdAreaApe());
			apPro.setTbAreaByIdAreaApe(tbArea);
			tbArea = new Area();
			tbArea.setIdArea(bean.getIdAreaRec());
			apPro.setTbAreaByIdAreaRec(tbArea);
			// tbProceso = new TbProceso();
			// tbProceso.setIdProceso(bean.getIdProceso());
			// apPro.setTbProceso(tbProceso);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return apPro;
	}

	// /////////////////
	private static final long serialVersionUID = 1L;
	private Integer idApelReco;
	private Integer idUsuario;
	private Integer idEstadoGenerales;
	private Integer idExpediente;
	private Integer idPersona;
	private Timestamp fechaCreacion;
	private Timestamp fechaModificacion;
	private String observacion;
	private Integer idApeRecPro;
	private Integer idProceso;

	// Datos para apelacion plantilla
	private String nombreArchivoApelacion;
	private InputStream isApelacion;
	private byte[] bApelacion;
	private int numDiaApe;
	private Integer idAreaApe;
	// Datos para la reconsideracion plantilla
	private String nombreArchivoReconsideracion;
	private InputStream isReconsideracion;
	private byte[] bReconsideracion;
	private int numDiaRec;
	private Integer idAreaRec;

	// Para lso archivos que seran apelacion o reconsideracion en general
	private String tipoFormato;
	private String depedenciaEncargada;

	public void setDepedenciaEncargada(String depedenciaEncargada) {
		this.depedenciaEncargada = depedenciaEncargada;
	}

	private String contenidoWeb;
	
	private String nombreArchivoWeb;
	private InputStream isArchivoWeb;
	private byte[] bArchivoWeb;
	
	private String fecharCreacionString;
	private String cupex;
	private String fechaExpiracionString;
	private String procesoString;
	
	/**
	 * private int idApelReco; private TbUsuario tbUsuarioByIdUsuarioCre;
	 * private TbApeRecProceso tbApeRecProceso; private TbUsuario
	 * tbUsuarioByIdUsuarioMod; private TbEstadoGenerales tbEstadoGenerales;
	 * private TbExpediente tbExpediente; private Timestamp fechaCreacion;
	 * private Timestamp fechaModificacion; private String observacion; private
	 * Blob cuerpoweb; private Blob cuerpoadj; private String tipo;
	 **/

	// //////////////////////////////////////////////////////////////////
	public Integer getIdApelReco() {
		return idApelReco;
	}

	public void setIdApelReco(Integer idApelReco) {
		this.idApelReco = idApelReco;
	}

	public Integer getIdUsuario() {
		return idUsuario;
	}

	public void setIdUsuario(Integer idUsuario) {
		this.idUsuario = idUsuario;
	}

	public Integer getIdEstadoGenerales() {
		return idEstadoGenerales;
	}

	public void setIdEstadoGenerales(Integer idEstadoGenerales) {
		this.idEstadoGenerales = idEstadoGenerales;
	}

	public Integer getIdExpediente() {
		return idExpediente;
	}

	public void setIdExpediente(Integer idExpediente) {
		this.idExpediente = idExpediente;
	}

	public Integer getIdPersona() {
		return idPersona;
	}

	public void setIdPersona(Integer idPersona) {
		this.idPersona = idPersona;
	}

	public Timestamp getFechaCreacion() {
		return fechaCreacion;
	}

	public void setFechaCreacion(Timestamp fechaCreacion) {
		this.fechaCreacion = fechaCreacion;
	}

	public Timestamp getFechaModificacion() {
		return fechaModificacion;
	}

	public void setFechaModificacion(Timestamp fechaModificacion) {
		this.fechaModificacion = fechaModificacion;
	}

	public String getObservacion() {
		return observacion;
	}

	public void setObservacion(String observacion) {
		this.observacion = observacion;
	}

	public Integer getIdApeRecPro() {
		return idApeRecPro;
	}

	public void setIdApeRecPro(Integer idApeRecPro) {
		this.idApeRecPro = idApeRecPro;
	}

	public Integer getIdProceso() {
		return idProceso;
	}

	public void setIdProceso(Integer idProceso) {
		this.idProceso = idProceso;
	}

	public String getNombreArchivoApelacion() {
		return nombreArchivoApelacion;
	}

	public void setNombreArchivoApelacion(String nombreArchivoApelacion) {
		this.nombreArchivoApelacion = nombreArchivoApelacion;
	}

	public InputStream getIsApelacion() {
		return isApelacion;
	}

	public void setIsApelacion(InputStream isApelacion) {
		this.isApelacion = isApelacion;
	}

	public byte[] getbApelacion() {
		return bApelacion;
	}

	public void setbApelacion(byte[] bApelacion) {
		this.bApelacion = bApelacion;
	}

	public int getNumDiaApe() {
		return numDiaApe;
	}

	public void setNumDiaApe(int numDiaApe) {
		this.numDiaApe = numDiaApe;
	}

	public Integer getIdAreaApe() {
		return idAreaApe;
	}

	public void setIdAreaApe(Integer idAreaApe) {
		this.idAreaApe = idAreaApe;
	}

	public String getNombreArchivoReconsideracion() {
		return nombreArchivoReconsideracion;
	}

	public void setNombreArchivoReconsideracion(
			String nombreArchivoReconsideracion) {
		this.nombreArchivoReconsideracion = nombreArchivoReconsideracion;
	}

	public InputStream getIsReconsideracion() {
		return isReconsideracion;
	}

	public void setIsReconsideracion(InputStream isReconsideracion) {
		this.isReconsideracion = isReconsideracion;
	}

	public byte[] getbReconsideracion() {
		return bReconsideracion;
	}

	public void setbReconsideracion(byte[] bReconsideracion) {
		this.bReconsideracion = bReconsideracion;
	}

	public int getNumDiaRec() {
		return numDiaRec;
	}

	public void setNumDiaRec(int numDiaRec) {
		this.numDiaRec = numDiaRec;
	}

	public Integer getIdAreaRec() {
		return idAreaRec;
	}

	public void setIdAreaRec(Integer idAreaRec) {
		this.idAreaRec = idAreaRec;
	}

	public String getTipoFormato() {
		return tipoFormato;
	}

	public void setTipoFormato(String tipoFormato) {
		this.tipoFormato = tipoFormato;
	}

	public String getContenidoWeb() {
		return contenidoWeb;
	}

	public void setContenidoWeb(String contenidoWeb) {
		this.contenidoWeb = contenidoWeb;
	}

	public String getNombreArchivoWeb() {
		return nombreArchivoWeb;
	}

	public void setNombreArchivoWeb(String nombreArchivoWeb) {
		this.nombreArchivoWeb = nombreArchivoWeb;
	}

	public InputStream getIsArchivoWeb() {
		return isArchivoWeb;
	}

	public void setIsArchivoWeb(InputStream isArchivoWeb) {
		this.isArchivoWeb = isArchivoWeb;
	}

	public byte[] getbArchivoWeb() {
		return bArchivoWeb;
	}

	public void setbArchivoWeb(byte[] bArchivoWeb) {
		this.bArchivoWeb = bArchivoWeb;
	}

	public String getDepedenciaEncargada() {
		return depedenciaEncargada;
	}

	public String getFecharCreacionString() {
		return fecharCreacionString;
	}

	public void setFecharCreacionString(String fecharCreacionString) {
		this.fecharCreacionString = fecharCreacionString;
	}

	public String getCupex() {
		return cupex;
	}

	public void setCupex(String cupex) {
		this.cupex = cupex;
	}

	public String getFechaExpiracionString() {
		return fechaExpiracionString;
	}

	public void setFechaExpiracionString(String fechaExpiracionString) {
		this.fechaExpiracionString = fechaExpiracionString;
	}

	public String getProcesoString() {
		return procesoString;
	}

	public void setProcesoString(String procesoString) {
		this.procesoString = procesoString;
	}
	
	
	private Integer idResultadoEvaluacion;

	public Integer getIdResultadoEvaluacion() {
		return idResultadoEvaluacion;
	}

	public void setIdResultadoEvaluacion(Integer idResultadoEvaluacion) {
		this.idResultadoEvaluacion = idResultadoEvaluacion;
	}
	
	public List<SelectItem> getRespuestas() {
		List<SelectItem> respuestas = new ArrayList<SelectItem>();
		respuestas.add(new SelectItem(1, "Aprobado"));
		respuestas.add(new SelectItem(2, "Desaprobado"));
		return respuestas;
	}
	
}